/**
    类成员可见性: 可以使TS来控制class的方法或属性对于class外的代码是否可见
        1.public(公有的),公有成员可以被任何地方访问,默认可见性
        2.protected(受保护的),仅对其声明所在类和子类中(非实例对象)可见
        子类中可以通过this访问
        3.private(私有的),只在当前类中可见,对实例对象和子类不可见
 */


class Animal {
    private __move__ () {
        console.log('Animal 内部辅助函数')
    }
    protected run() {
        this.__move__() 
    }
}

const a = new Animal()
// a.__move__() //不可用

class Dog extends Animal {
    bark() {
        // this.__move__() //不可见
    }
}


const d = new Dog()

// d.__move__() // 不可用


